Krótkie podsumowanie - elevator speach

Rozmiar zbioru i podstawowe statystyki.

Dane zawierają ‘235790’ obserwacji po ‘50’ atrybutów każda. Poniżej znajduje się podsumowanie wartości dla każdego atrybutu.

Dane czujnika

lapply(solar_data[, c('idsito', 'idmodel', 'idbrand', 'ageinmonths')], summary)
## $idsito
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.1000  0.2250  0.2147  0.3250  0.4250 
## 
## $idmodel
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.1670  0.2080  0.2426  0.2920  0.7500 
## 
## $idbrand
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0830  0.1670  0.1519  0.1670  0.4170 
## 
## $ageinmonths
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.1250  0.3145  0.7190  1.0000

Pierwsze 3 zawierają informacje o identyfikatorze, modelu i marce czujnika. W tym zbiorze można wyróżnić 17 czujników, o 11 różnych modelach, wyprodukowanych przez 6 różnych producentów. Wszystkie wartości tych atrybutów zostały znormalizowane i zawierają się w przedziale <0:1>. Czwarty atrybut (tak samo znormalizowany) opisuje wiek danego czujnika, jego wartość jest stała dla każdego idsito.

Czas

lapply(solar_data[, c('anno', 'day', 'ora', 'data')], summary)
## $anno
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    2012    2012    2012    2012    2013    2013 
## 
## $day
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2520  0.4770  0.4812  0.7100  1.0000 
## 
## $ora
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.222   0.500   0.500   0.778   1.000 
## 
## $data
##                  Min.               1st Qu.                Median 
## "2012-01-02 02:00:00" "2012-07-02 11:45:00" "2012-12-31 23:00:00" 
##                  Mean               3rd Qu.                  Max. 
## "2012-12-31 22:44:54" "2013-07-02 11:15:00" "2013-12-31 20:00:00" 
##                  NA's 
##                  "34"

Powyższe atrybuty opisują czas dokonania pomiaru. Anno określa rok dokonania pomiaru i przyjmuje dwie wartości; 2012 i 2013. Day, jak sama nazwa wskazuje, określa dzień dokonania pomiaru. Przyjmuje 365 różnych wartości, co sugeruje, że odzwierciedla kalendarzowy dzień dla danego roku. Atrybut ora przyjmuje 19 różnych wartości, co sugeruje, że pomiary były dokonywane w 19 różnych godzinach dla różnych dób. Po przylrzeniu się wartościom atrybutu data można zauważyć, że pomiary dla każdego dnia były przeprowadzane w godzinach 2:00 - 20:00, co godzinę. Ostatni atrybut zawiera informacje zawarte w trzech poprzednich; rok, dzień, godzinę dokonania pomiaru w bardziej przystępnej postaci - jako (nieznormalizowany) ciąg znaków.

Położenie

lapply(solar_data[, c('lat', 'lon')], summary)
## $lat
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.4150  0.4370  0.4370  0.4495  0.4390  0.5530 
## 
## $lon
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1540  0.6200  0.6240  0.5711  0.6300  0.6910

Powyższe atrybuty opisują fizyczne położenie czujników. Wartości atrybutu lat opisują szerokość geograficzną, a lon długość. Zakres wartości atrybutu lat to <0.415:0.553>, co sugeruje, że czujniki położone były na podobnej szerokości geograficznej.

Warunki atmosferyczne

lapply(solar_data[, c('temperatura_ambiente', 'irradiamento', 'pressure', 'windspeed', 'humidity', 'dewpoint', 'windbearing', 'cloudcover', 'irr_pvgis_mod', 'icon')], summary)
## $temperatura_ambiente
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0450  0.2120  0.3480  0.3734  0.5300  0.8180 
## 
## $irradiamento
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.0350  0.1091  0.2040  0.7100 
## 
## $pressure
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.7480  0.7530  0.6504  0.7550  0.7690 
## 
## $windspeed
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00000 0.04200 0.06600 0.07622 0.10200 0.69600 
## 
## $humidity
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1600  0.5400  0.7000  0.6844  0.8400  1.0000 
## 
## $dewpoint
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1390  0.5350  0.6190  0.6055  0.6830  0.8650 
## 
## $windbearing
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.3000  0.4780  0.4512  0.6600  0.7690 
## 
## $cloudcover
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.230   0.310   0.359   0.510   1.000 
## 
## $irr_pvgis_mod
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.0560  0.1767  0.3250  1.0000 
## 
## $icon
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0830  0.6670  0.4623  0.6670  0.7500

Powyższe atrybuty opisują aktualną pogodę “mierzoną” podczas zapisu danych przez czujnik. Opisują odpowiednio: temperaturę powietrza, stopień nasłonecznienia, ciśnienie atmosferyczne, prędkość wiatru, wilgotność, temperaturę punktu rosy, zachmurzenie i ponownie stopień nasłonecznienia, tym razem generowany przez pogodowe API (Photovoltaic Geographical Information System). Ostatnia zmienna (icon) przyjmuje tylko 7 różnych wartości, co sugeruje, że może reprezentować “obecny stan pogody” (ikonę), obliczany przez czujnik lub, co jest bardziej prawdopodobne, dostarczany przez pogodowe API. Zdroworozsądkowo nasłonecznienie powinno pełnić kluczową rolę przy generowaniu energii przez panele słoneczne, zatem podwojenie obserwacji w tym przypadku zdaje się być całkowicie uzasadnione; umożliwa to wyeliminowanie potencjalnych błędnych pomiarów.

Położenie słońca

lapply(solar_data[, c('altitude', 'azimuth', 'dist')], summary)
## $altitude
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1110  0.4190  0.5640  0.5464  0.6810  0.8840 
## 
## $azimuth
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1280  0.2950  0.4250  0.4546  0.6350  0.8180 
## 
## $dist
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.1913  0.4590  0.4686  0.7268  1.0000

Azimuth to azymut, czyli kąt zawarty między północną częścią południka odniesienia a danym kierunkiem poziomym. Zmienna altitude opisuje wysokość, prawdopodobnie słońca nad horyzontem, ponieważ jej wartości rosną do godzin południowych, a następnie maleją. Zmienna dist jest taka sama dla wszystkich czujników oraz zmienia się każdego dnia. Przyglądając się wykresowi zależności jej wartości od day(czyli dnia roku) łatwo zauważyć jej cykliczność. Prawdopodobnie określa ona odległość Ziemi od Słońca w danym dniu. Ta grupa atrybutów pozwala określić położenie słońca względem czujnika.

ggplot() + geom_line(data = solar_data, aes(x = day, y = dist)) + labs(title="Zmiana atrybutu dist w dniach roku")

PCNM

lapply(solar_data[, 33:47], summary)
## $pcnm1
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.3770  0.3780  0.4224  0.3800  1.0000 
## 
## $pcnm2
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2500  0.3770  0.3538  0.4220  0.9720 
## 
## $pcnm3
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.5510  0.6050  0.6045  0.7300  1.0000 
## 
## $pcnm4
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.3630  0.5310  0.5189  0.6340  1.0000 
## 
## $pcnm5
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.3310  0.4270  0.4165  0.4620  1.0000 
## 
## $pcnm6
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.3390  0.4930  0.4941  0.4930  1.0000 
## 
## $pcnm7
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0310  0.0520  0.1142  0.1140  1.0000 
## 
## $pcnm8
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2040  0.4120  0.4034  0.5110  1.0000 
## 
## $pcnm9
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.5270  0.5320  0.5371  0.6000  1.0000 
## 
## $pcnm10
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.5530  0.6190  0.6276  0.7170  1.0000 
## 
## $pcnm11
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2570  0.3270  0.3236  0.3270  1.0000 
## 
## $pcnm12
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.7480  0.7600  0.7568  0.8840  1.0000 
## 
## $pcnm13
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1370  0.6140  0.6140  0.6501  0.7380  1.0000 
## 
## $pcnm14
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.4320  0.4730  0.4893  0.5300  1.0000 
## 
## $pcnm15
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.6120  0.6140  0.5709  0.6150  1.0000

Atrybuty PCNM (z angielksiego Principal coordinates of neighbour matrices) to najprawdopodobniej zmienne pozwalające opisać dokładniej położenie każdego czujnika względem innych czujnikóW. Pozwalają na bardziej wnikliwą analizę położenia dla każdego z czujników poprzez stworzenie własnej macierzy sąsiedztwa dla każdego z nich. Wartości tych parametrów są stałe dla idsito.

Atrybuty *I

lapply(solar_data[, c(20:26, 30:32, 49)], summary)
## $tempi
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0090  0.0730  0.1110  0.1225  0.1260  0.9830 
## 
## $irri
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.108   0.216   0.220   0.222   0.222   1.000 
## 
## $pressurei
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.000000 0.000000 0.000000 0.000237 0.000000 1.000000 
## 
## $windspeedi
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00000 0.03700 0.03800 0.03852 0.03900 1.00000 
## 
## $humidityi
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.03400 0.04400 0.04400 0.06384 0.06200 0.57900 
## 
## $dewpointi
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0630  0.1140  0.1140  0.1194  0.1180  0.4150 
## 
## $windbearingi
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.3360  0.3360  0.3455  0.3390  1.0000 
## 
## $azimuth
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1280  0.2950  0.4250  0.4546  0.6350  0.8180 
## 
## $altitudei
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0960  0.1360  0.2055  0.2660  0.9820 
## 
## $azimuthi
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2090  0.2880  0.3653  0.4820  1.0000 
## 
## $irri_pvgis_mod
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -0.0250  0.1580  0.1940  0.1967  0.2130  1.0060

Atrybuty pogodowe z i na końcu zapewne są wynikiem transformacji wartości tych samych atrybutów bez litery i. Wydaje się być prawdopodobne, że do obliczenia ich wartości posłużył, wspomniany w poprzedniej grupie atrybutów, aglorytm radzący sobie z problemem autokorelacji przestrzennej, wynikającej z bliskiego położenia czujnikóW.

Energia

lapply(solar_data["kwh"], summary)
## $kwh
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.0490  0.1688  0.3320  1.0000

Ostatni analizowany atrybut to znormalizowana do przedziału <0:1> wartość wytworzonej energii przez dany czujnik w danym dniu o danej godzinie. Wartość tej zmiennej ma docelowo zostać “przewidziana” na podstawie wartości pozostałych parametrów.

Korelacja atrybutów

Stworzono macierz korelacji pomiędzy (prawie)wszystkimi atrybutami (bez atrybutów: “data” oraz “idsito”)

#cor <- rcorr(as.matrix(solar_data[, !names(solar_data) %in% c("data", "idsito")]))
corr_matrix <- cor(as.matrix(solar_data[, !names(solar_data) %in% c("data", "anno")]), method = "spearman")
corrplot(as.matrix(corr_matrix), order = "FPC", type="lower", tl.col = "black", tl.srt = 45)

Analizując powyższą macierz pod kątem korelacji atrybutu kwh z pozostałymiy atrybutami można łatwo zauważyć silną odwrotną korelację z wartością humidity(wilgotność) co jest logiczne, ponieważ opad deszczu skutecznie zmniejsza ilość wytwarzanej energii przez panel słoneczny. Atrybut kwh jest skorelowany silnie z wartością irri, czyli nasłonecznienia oraz słabo z atrybutami opisującymi temperaturę.

Można także zauważyć na niektórych atrybutach słabą odwrotną korelację pomiędzy parami atrybut-atrybuti. (być może i jak invert?)

Interaktywny wykres

solar_data_monthYear <-  solar_data %>% mutate(month_year = format(as.POSIXct(data), "%Y/%m")) %>% group_by(idsito, month_year) %>% summarise(sum_of_kwh = sum(kwh))
plot <- ggplot() + geom_line(data=solar_data_monthYear, aes(x=month_year, y=sum_of_kwh, group=idsito, color=factor(x = 1*idsito, labels=c(1:17)))) + labs(color="Legenda") + labs(title="Miesięczna produkcja energi dla czujników", x="year_month") +
theme(axis.text.x=element_text(angle=90, vjust=0.5), axis.title.x = element_text(vjust=2.5))
ggplotly(plot)

Powyższy interaktywny wykres pozwala porównać sumę wyprodukowanej energii przez czujniki w każdym miesiącu.

Analizując wykres można dojść do następujących wniosków: * czujniki ulegają awariom; potencjalne awarie występują w miejscach drastycznego spadku produkowanej energii do 0 (np. czujnik 16 w sierpniu 2013r., ), * krzywa miesięcznej sumy produkowanej energii dla grupy czujników ma podobny kształt, * część czujników odnotowała bardzo niską produkcję energii w styczniu 2013r., efekt ten mógł być spowodowany przykryciem ich przez śnieg * czujnik 10 zdecydowanie lepiej prosperował w ostatnim kwartale 2012 w porównaniu do reszty.

Przetwarzanie brakujących danych

W samym zbiorze problem pustych danych nie występuje - wszystkie dane na pierwszy rzut oka zdają się być racjonalne. Po analizie wykresu z poprzedniego rozdziału można zauważyć problem awarii czujnika, czyli brakujących pomiarów wyprodukowanej energii przez dany czujnik. Problem ten występuje zapewne nie tylko w tym jednym przypadku (czujnik 16, sierpień 2013), ale również przy innych pomiarach. Dla stworzenia najlepszego modelu predykcji należy zapewnić najlepszą jakość pomiarów dla atrybutów najsilniej skorelowanych z kwh. W związku z tym, brakujące pomiary kwh (gdy wartość wynosi 0), gdy nasłonecznienie ma wartość większą od 0 i takie, które zanotowały niezerową produkcję energii przy zerowym nasłonecznieniu należy rozważyć ponownie i przypisać im bardziej racjonalne wartości.

getMonthsMean <- function(dataset, id, yearNumb, monthNumb, hour) {
  return(dataset %>% filter(idsito == id) %>% filter(anno != yearNumb) %>% filter(month == monthNumb) %>% filter(ora == hour) %>% select(kwh) %>% colMeans() %>% unname())
} 

solar_data_repaired <- solar_data %>% mutate(week = strftime(data, format="%W"), month = strftime(data, format="%m"))
solar_data_repaired <- solar_data_repaired %>% group_by(idsito, anno, week, ora) %>% 
  mutate(kwh = ifelse(sum(kwh) == 0 & idsito == 0.4 & anno == 2013 & month == "08", getMonthsMean(solar_data_repaired, idsito, anno, month, ora), kwh))
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in idsito == id: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
## Warning in anno != yearNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in month == monthNumb: długość dłuszego obiektu nie jest
## wielokrotnością długości krótszego obiektu
## Warning in ora == hour: długość dłuszego obiektu nie jest wielokrotnością
## długości krótszego obiektu
#próba uzupełnienia brakujących wartości czujnika 16
solar_data_repaired <- solar_data_repaired %>% group_by(idsito, anno, week, ora) %>% mutate(kwh = ifelse(kwh == 0 && irradiamento > 0, mean(kwh), kwh))
solar_data_repaired <- solar_data_repaired %>% group_by(idsito, anno, week, ora) %>% mutate(irradiamento = ifelse(irradiamento == 0 && kwh > 0, mean(irradiamento), irradiamento))
set.seed(23) #kod zapewniający powtarzalność wyników

Próba stworzenia regresora

solar_data_repaired <- solar_data_repaired %>% filter(idsito != 0.25) #usunięcie pomiarów z czujnika 10

#test/learning data 
#use some regression algorithms
#RMSE 

Sekcja próbująca stworzyć regresor Usunięcie pomiarów czujnika 10.

Analiza modelu regresji

#find best + analyze

Jaki model i czy ma sens.